class Bot:

    def __init__(self, name):
        self.name = name

    def ask(self, prompt):
        print(f"Base {self.name} ask called")

    def reply(self, prompt):
        print(f"Base {self.name} reply called")

    @classmethod
    def get(cls, name):
        if name == 'chatgpt':
            from bot.chatgpt.chatgpt import ChatGPTBot
            return ChatGPTBot()
        elif name == 'wenxin':
            from bot.baidu.wenxin import WenXinBot
            return WenXinBot()
        elif name == 'bailian':
            from bot.aliyun.bailian import BailianBot
            return BailianBot()
        else:
            raise ValueError(f'Invalid bot name {name}')
